// function outputNum(){
//     var p = new Promise(function(resolve,reject){
//         setTimeout(()=>{
//             console.log(1)
//             resolve(1)
//         },1000)
//     })
//     return p
// }
// outputNum().then(function(data){
//     console.log(data)
// })

const arr = [1,2,3]
arr.reduce((p,x)=>{
    return p.then(()=>{
        r =>{
            setTimeout(()=>r(console.log(x)),1000)
        }
    })
})
Promise.resolve()
